home *** CD-ROM | disk | FTP | other *** search
- Name
-
- EXT_misc_attribute
-
- Version
-
- $Date: 1996/04/02 00:08:10 $ $Revision: 1.2 $
-
- Number
-
- 31
-
- Dependencies
-
- None
-
- Overview
-
- EXT_misc_attribute extends the list of attribute groups. It provides
- a miscellaneous group, controlled by the MISC_BIT_EXT bit, that contains
- the attribute state of extensions that don't logically fit in any other
- group.
-
- Reasoning
-
- In general, an extension's attributes are assigned to a similar
- attribute group. If an extension is developed that doesn't fit in
- any of the GL's existing attribute groups, the extension's attributes
- should be added to the miscellaneous group.
-
- The GL sample implementation incorrectly checks the bits in
- the <mask> argument to PushAttrib and glXCopyContext,
- generating an error if any unused bits are set. This
- behavior causes interoperability problems between GLs with
- different sets of attribute groups. This error checking
- should be removed from all implementations. The reference
- to this error checking should also be removed from the GLX
- specification.
-
- Because of the bit checking described above, ALL_ATTRIB_BITS
- can't include MISC_BIT_EXT without risking GL interoperability
- problems. Not including MISC_BIT_EXT changes the semantics of
- ALL_ATTRIB_BITS, but is considered the lesser of two evils.
- These problems should be fixed in the next GL version.
-
- New Procedures and Functions
-
- None
-
- New Tokens
-
- MISC_BIT_EXT
-
- Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
-
- None
-
- Additions to Chapter 3 of the 1.0 Specification (Rasterization)
-
- None
-
- Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
- and the Frame Buffer)
-
- None
-
- Additions to Chapter 5 of the 1.0 Specification (Special Functions)
-
- None
-
- Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
-
- The command
-
- void PushAttrib(bitfield mask)
-
- takes a bitwise OR of symbolic constants indicating which groups of
- state variables to push onto an attribute stack. Each constant refers
- to a group of state variables. The single symbolic constant
- GL_ALL_ATTRIB_BITS can be used to copy all of the attribute groups defined
- by the core GL. Additional extension attribute groups cannot be copied
- using GL_ALL_ATTRIB_BITS. To copy these groups, check to see that the GL
- implementation supports the extension, then use a bitwise OR to set
- the appropriate bit(s) in <mask>.
-
-
- (Table 6.1 (Attribute Groups).)
-
- Attribute Constant ALL_ATTRIB_BITS
- --------- -------- ---------------
-
- accum-buffer ACCUM_BUFFER_BIT yes
- color-buffer COLOR_BUFFER_BIT yes
- current CURRENT_BIT yes
- depth-buffer DEPTH_BUFFER_BIT yes
- enable ENABLE_BIT yes
- eval EVAL_BIT yes
- fog FOG_BIT yes
- hint HINT_BIT yes
- lighting LIGHTING_BIT yes
- line LINE_BIT yes
- list LIST_BIT yes
- pixel PIXEL_MODE_BIT yes
- point POINT_BIT yes
- polygon POLYGON_BIT yes
- polygon-stipple POLYGON_STIPPLE_BIT yes
- scissor SCISSOR_BIT yes
- stencil-buffer STENCIL_BUFFER_BIT yes
- texture TEXTURE_BIT yes
- transform TRANSFORM_BIT yes
- viewport VIEWPORT_BIT yes
- miscellaneous MISC_BIT_EXT no
- - ALL_ATTRIB_BITS -
-
-
- Additions to the GLX Specification
-
- (In the glXCopyContext description)
-
- The single symbolic constant GL_ALL_ATTRIB_BITS can be used to
- copy all of the attribute groups defined by the core GL. Additional
- extension attribute groups can not be copied using GL_ALL_ATTRIB_BITS.
- To copy these groups, check to see that the GL implementation supports
- the extension, then use a bitwise OR to set the appropriate bit(s) in
- <mask>.
-
- Errors
-
- None
-
- New State
-
- None
-
- New Implementation Dependent State
-
- None
-